เกินข้อความที่ส่งโดยตรง
เมื่อเริ่มต้นใช้งานโมเดลภาษาขนาดใหญ่ (LLMs) นักพัฒนาส่วนใหญ่มักใช้การเรียกใช้ API โดยตรง (เช่น ไลบรารีภาษาพีทอนของ OpenAI) เพื่อส่งคำขอและรับผลลัพธ์ แม้ว่าจะใช้งานได้ แต่วิธีนี้จะกลายเป็นเรื่องยากในการจัดการเมื่อแอปพลิเคชันมีขนาดใหญ่ขึ้น
ปัญหาความไม่มีสถานะ
โมเดลภาษาขนาดใหญ่เป็นอย่างแท้จริงไร้สถานะ. ทุกครั้งที่คุณส่งข้อความ โมเดลจะลืมว่าคุณคือใครและคุณเคยพูดอะไรไปแล้ว เมื่อแต่ละการโต้ตอบถือว่าเป็นแผ่นกระดาษเปล่า ในการรักษารูปแบบการสนทนา คุณต้องส่งประวัติการสนทนาทั้งหมดกลับไปยังโมเดลทุกครั้ง
ทางออกของ LangChain
LangChain นำเสนอChatOpenAIตัวห่อโมเดล นี่ไม่ใช่แค่การห่อเพื่อให้ดูดีเท่านั้น มันเป็นรากฐานของความยืดหยุ่น. โดยการสร้างโครงสร้างที่แยกแยะการเรียกใช้โมเดล เราสามารถเปลี่ยนโมเดล ใส่หน่วยความจำ และใช้เทมเพลตได้ในภายหลัง โดยไม่ต้องเขียนโค้ดใหม่ทั้งหมด
ฉากโจรสลัด
ลองนึกภาพอีเมลลูกค้าที่เขียนด้วยภาษาพูดสไตล์โจรสลัด ในการแปลงข้อความนี้ให้เป็นคำตอบทางธุรกิจอย่างเป็นทางการ การเรียกใช้ API โดยตรงต้องกำหนดคำสั่งไว้ในโค้ดอย่างแน่นอน แต่ด้วย LangChain เราแยก "สไตล์" (โจรสลัด กับ เป็นทางการ) ออกจาก "เนื้อหา" (อีเมล) ด้วยการสร้างโครงสร้างที่แยกแยะ
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>
Question 1
Why do we say LLMs are "stateless"?
Challenge: Initialize ChatOpenAI
Solve the problem below.
You are building a creative writing assistant and need to initialize your first LangChain model.
Your task is to create a
Your task is to create a
ChatOpenAI instance named my_llm with a temperature of 0.7 to allow for more creative (non-deterministic) responses.
Task
Write the Python code to import and initialize the model.
Solution:
from langchain_openai import ChatOpenAImy_llm = ChatOpenAI(temperature=0.7)